package com.ruoyi.system.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 作物物候期管理对象 phenologicalperiods
 * 
 * @author ruoyi
 * @date 2025-07-24
 */
public class Phenologicalperiods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 物候期ID */
    private Long phenologicalperiodid;

    /** 作物ID */
    @Excel(name = "作物ID")
    private Long cropid;

    /** 物候期名称 */
    @Excel(name = "物候期名称")
    private String phenologicalperiodname;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date starttime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endtime;

    /** 物候期特点 */
    @Excel(name = "物候期特点")
    private String characteristics;

    /** 标准化生产指导信息信息 */
    private List<Phenologicalguidance> phenologicalguidanceList;

    public void setPhenologicalperiodid(Long phenologicalperiodid) 
    {
        this.phenologicalperiodid = phenologicalperiodid;
    }

    public Long getPhenologicalperiodid() 
    {
        return phenologicalperiodid;
    }

    public void setCropid(Long cropid) 
    {
        this.cropid = cropid;
    }

    public Long getCropid() 
    {
        return cropid;
    }

    public void setPhenologicalperiodname(String phenologicalperiodname) 
    {
        this.phenologicalperiodname = phenologicalperiodname;
    }

    public String getPhenologicalperiodname() 
    {
        return phenologicalperiodname;
    }

    public void setStarttime(Date starttime) 
    {
        this.starttime = starttime;
    }

    public Date getStarttime() 
    {
        return starttime;
    }

    public void setEndtime(Date endtime) 
    {
        this.endtime = endtime;
    }

    public Date getEndtime() 
    {
        return endtime;
    }

    public void setCharacteristics(String characteristics) 
    {
        this.characteristics = characteristics;
    }

    public String getCharacteristics() 
    {
        return characteristics;
    }

    public List<Phenologicalguidance> getPhenologicalguidanceList()
    {
        return phenologicalguidanceList;
    }

    public void setPhenologicalguidanceList(List<Phenologicalguidance> phenologicalguidanceList)
    {
        this.phenologicalguidanceList = phenologicalguidanceList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("phenologicalperiodid", getPhenologicalperiodid())
            .append("cropid", getCropid())
            .append("phenologicalperiodname", getPhenologicalperiodname())
            .append("starttime", getStarttime())
            .append("endtime", getEndtime())
            .append("characteristics", getCharacteristics())
            .append("phenologicalguidanceList", getPhenologicalguidanceList())
            .toString();
    }

    // 农作物名称（用作条件）
    private String cropName;

    public String getCropName() {
        return cropName;
    }

    public void setCropName(String cropName) {
        this.cropName = cropName;
    }
}
